package com.ruoyi.mobile.domain;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 华为健康每月统计数据对象 huawei_health_month_stat
 * 
 * @author ruoyi
 * @date 2023-05-02
 */
public class HuaweiHealthMonthStat extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** user.id */
    @Excel(name = "user.id")
    private Integer userId;

    @Excel(name = "姓名")
    private String nickname;

    @Excel(name = "手机号")
    private String phone;

    /** 月次 */
    @Excel(name = "月次")
    private Integer month;

    /** 统计时间(开始) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计时间(开始)", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate statStartDate;

    /** 统计时间(结束) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计时间(结束)", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate statEndDate;

    /** 平均步数(日) */
    @Excel(name = "平均步数(日)")
    private BigDecimal steps;

    /** 平均消耗卡路里(千卡/天) */
    @Excel(name = "平均消耗卡路里(千卡/天)")
    private BigDecimal calories;

    /** 平均心率(次/分钟/天) */
    private BigDecimal meanHeartrate;

    /** 平均血氧饱和度(百分比/天) */
    private BigDecimal meanSpo2;

    /** 绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime bindTime;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }
    public void setMonth(Integer month) 
    {
        this.month = month;
    }

    public Integer getMonth() 
    {
        return month;
    }
    public void setStatStartDate(LocalDate statStartDate)
    {
        this.statStartDate = statStartDate;
    }

    public LocalDate getStatStartDate()
    {
        return statStartDate;
    }
    public void setStatEndDate(LocalDate statEndDate)
    {
        this.statEndDate = statEndDate;
    }

    public LocalDate getStatEndDate()
    {
        return statEndDate;
    }
    public void setSteps(BigDecimal steps) 
    {
        this.steps = steps;
    }

    public BigDecimal getSteps() 
    {
        return steps;
    }
    public void setCalories(BigDecimal calories) 
    {
        this.calories = calories;
    }

    public BigDecimal getCalories() 
    {
        return calories;
    }
    public void setMeanHeartrate(BigDecimal meanHeartrate) 
    {
        this.meanHeartrate = meanHeartrate;
    }

    public BigDecimal getMeanHeartrate() 
    {
        return meanHeartrate;
    }
    public void setMeanSpo2(BigDecimal meanSpo2) 
    {
        this.meanSpo2 = meanSpo2;
    }

    public BigDecimal getMeanSpo2() 
    {
        return meanSpo2;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public LocalDateTime getBindTime() {
        return bindTime;
    }

    public void setBindTime(LocalDateTime bindTime) {
        this.bindTime = bindTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("month", getMonth())
            .append("statStartDate", getStatStartDate())
            .append("statEndDate", getStatEndDate())
            .append("steps", getSteps())
            .append("calories", getCalories())
            .append("meanHeartrate", getMeanHeartrate())
            .append("meanSpo2", getMeanSpo2())
            .append("nickname", getNickname())
            .append("phone", getPhone())
            .append("bindTime", getBindTime())
            .toString();
    }
}
